package com.imooc.coupon.service;

import com.imooc.coupon.entity.Coupon;
import com.imooc.coupon.exception.CouponException;

import java.util.List;

/**
 * @Date 2021/11/2 18:30
 * @Author wangshbv
 * @Description redis相关的操作
 */
public interface IRedisService {
    /**
     * 查询用户缓存的优惠卷信息
     *
     * @author wangshbv
     * @date 18:31
     */
    List<Coupon> getCachedCoupons(Long userId, Integer status);

    /**
     * 保存空的优惠卷列表到缓存中
     *
     * @author wangshbv
     * @date 18:34
     */
    void saveEmptyCouponListToCache(Long userId, List<Integer> status);

    /**
     * 尝试从cache中获取一个优惠卷码
     *
     * @author wangshbv
     * @date 18:35
     */
    String tryToAcquireCouponFromCache(Integer templeId);
    /**
     * 保存数据到redis
     * @author wangshbv
     * @date 18:38
     */
    Integer addCouponToCache(Long userId, List<Coupon> coupons, Integer status)
            throws CouponException;
}
